package autokeyboard.data;

import java.awt.Event;
import java.awt.Robot;
import java.awt.event.KeyEvent;

public class RobotData
{
	private Robot	robot;

	public RobotData()
	{
		try
		{
			robot = new Robot();
		} catch (Exception e)
		{
		}
	}

	/**
	 * This method will press exact your key with your input key name and your
	 * delay.
	 * 
	 * @param keyName
	 * @param delay
	 */
	public void pressKey(String keyName, int delay)
	{
		switch (keyName)
		{
		// F* key
			case "F1":
			{
				robot.keyPress(KeyEvent.VK_F1);
				robot.keyRelease(KeyEvent.VK_F1);
			}
			break;
			case "F2":
			{
				robot.keyPress(KeyEvent.VK_F2);
				robot.keyRelease(KeyEvent.VK_F2);
			}
			break;
			case "F3":
			{
				robot.keyPress(KeyEvent.VK_F3);
				robot.keyRelease(KeyEvent.VK_F3);
			}
			break;
			case "F4":
			{
				robot.keyPress(KeyEvent.VK_F4);
				robot.keyRelease(KeyEvent.VK_F4);
			}
			break;
			case "F5":
			{
				robot.keyPress(KeyEvent.VK_F5);
				robot.keyRelease(KeyEvent.VK_F5);
			}
			break;
			case "F6":
			{
				robot.keyPress(KeyEvent.VK_F6);
				robot.keyRelease(KeyEvent.VK_F6);
			}
			break;
			case "F7":
			{
				robot.keyPress(KeyEvent.VK_F7);
				robot.keyRelease(KeyEvent.VK_F7);
			}
			break;
			case "F8":
			{
				robot.keyPress(KeyEvent.VK_F8);
				robot.keyRelease(KeyEvent.VK_F8);
			}
			break;
			case "F9":
			{
				robot.keyPress(KeyEvent.VK_F9);
				robot.keyRelease(KeyEvent.VK_F9);
			}
			break;
			case "F10":
			{
				robot.keyPress(KeyEvent.VK_F10);
				robot.keyRelease(KeyEvent.VK_F10);
			}
			break;
			case "F11":
			{
				robot.keyPress(KeyEvent.VK_F11);
				robot.keyRelease(KeyEvent.VK_F);
			}
			break;
			case "F12":
			{
				robot.keyPress(KeyEvent.VK_F12);
				robot.keyRelease(KeyEvent.VK_F12);
			}
			break;
			// character
			case "a":
			{
				robot.keyPress(KeyEvent.VK_A);
				robot.keyRelease(KeyEvent.VK_A);
			}
			break;
			case "b":
			{
				robot.keyPress(KeyEvent.VK_B);
				robot.keyRelease(KeyEvent.VK_B);
			}
			break;
			case "c":
			{
				robot.keyPress(KeyEvent.VK_C);
				robot.keyRelease(KeyEvent.VK_C);
			}
			break;
			case "d":
			{
				robot.keyPress(KeyEvent.VK_D);
				robot.keyRelease(KeyEvent.VK_D);
			}
			break;
			case "e":
			{
				robot.keyPress(KeyEvent.VK_E);
				robot.keyRelease(KeyEvent.VK_E);
			}
			break;
			case "f":
			{
				robot.keyPress(KeyEvent.VK_F);
				robot.keyRelease(KeyEvent.VK_F);
			}
			break;
			case "g":
			{
				robot.keyPress(KeyEvent.VK_G);
				robot.keyRelease(KeyEvent.VK_G);
			}
			break;
			case "h":
			{
				robot.keyPress(KeyEvent.VK_H);
				robot.keyRelease(KeyEvent.VK_H);
			}
			break;
			case "i":
			{
				robot.keyPress(KeyEvent.VK_I);
				robot.keyRelease(KeyEvent.VK_I);
			}
			break;
			case "j":
			{
				robot.keyPress(KeyEvent.VK_J);
				robot.keyRelease(KeyEvent.VK_J);
			}
			break;
			case "k":
			{
				robot.keyPress(KeyEvent.VK_K);
				robot.keyRelease(KeyEvent.VK_K);
			}
			break;
			case "l":
			{
				robot.keyPress(KeyEvent.VK_L);
				robot.keyRelease(KeyEvent.VK_L);
			}
			break;
			case "m":
			{
				robot.keyPress(KeyEvent.VK_M);
				robot.keyRelease(KeyEvent.VK_M);
			}
			break;
			case "n":
			{
				robot.keyPress(KeyEvent.VK_N);
				robot.keyRelease(KeyEvent.VK_N);
			}
			break;
			case "o":
			{
				robot.keyPress(KeyEvent.VK_O);
				robot.keyRelease(KeyEvent.VK_O);
			}
			break;
			case "p":
			{
				robot.keyPress(KeyEvent.VK_P);
				robot.keyRelease(KeyEvent.VK_P);
			}
			break;
			case "q":
			{
				robot.keyPress(KeyEvent.VK_Q);
				robot.keyRelease(KeyEvent.VK_Q);
			}
			break;
			case "r":
			{
				robot.keyPress(KeyEvent.VK_R);
				robot.keyRelease(KeyEvent.VK_R);
			}
			break;
			case "s":
			{
				robot.keyPress(KeyEvent.VK_S);
				robot.keyRelease(KeyEvent.VK_S);
			}
			break;
			case "t":
			{
				robot.keyPress(KeyEvent.VK_T);
				robot.keyRelease(KeyEvent.VK_T);
			}
			break;
			case "u":
			{
				robot.keyPress(KeyEvent.VK_U);
				robot.keyRelease(KeyEvent.VK_U);
			}
			break;
			case "w":
			{
				robot.keyPress(KeyEvent.VK_W);
				robot.keyRelease(KeyEvent.VK_W);
			}
			break;
			case "v":
			{
				robot.keyPress(KeyEvent.VK_V);
				robot.keyRelease(KeyEvent.VK_V);
			}
			break;
			case "x":
			{
				robot.keyPress(KeyEvent.VK_X);
				robot.keyRelease(KeyEvent.VK_X);
			}
			break;
			case "y":
			{
				robot.keyPress(KeyEvent.VK_Y);
				robot.keyRelease(KeyEvent.VK_Y);
			}
			break;
			case "z":
			{
				robot.keyPress(KeyEvent.VK_Z);
				robot.keyRelease(KeyEvent.VK_Z);
			}
			break;
			// upper case character
			case "A":
			{
				robot.keyPress(KeyEvent.VK_SHIFT);
				robot.keyPress(KeyEvent.VK_A);
				robot.keyRelease(KeyEvent.VK_A);
				robot.keyRelease(KeyEvent.VK_SHIFT);
			}
			break;
			case "B":
			{
				robot.keyPress(KeyEvent.VK_SHIFT);
				robot.keyPress(KeyEvent.VK_B);
				robot.keyRelease(KeyEvent.VK_B);
				robot.keyRelease(KeyEvent.VK_SHIFT);
			}
			break;
			case "C":
			{
				robot.keyPress(KeyEvent.VK_SHIFT);
				robot.keyPress(KeyEvent.VK_C);
				robot.keyRelease(KeyEvent.VK_C);
				robot.keyRelease(KeyEvent.VK_SHIFT);
			}
			break;
			case "D":
			{
				robot.keyPress(KeyEvent.VK_SHIFT);
				robot.keyPress(KeyEvent.VK_D);
				robot.keyRelease(KeyEvent.VK_D);
				robot.keyRelease(KeyEvent.VK_SHIFT);
			}
			break;
			case "E":
			{
				robot.keyPress(KeyEvent.VK_SHIFT);
				robot.keyPress(KeyEvent.VK_E);
				robot.keyRelease(KeyEvent.VK_E);
				robot.keyRelease(KeyEvent.VK_SHIFT);
			}
			break;
			case "F":
			{
				robot.keyPress(KeyEvent.VK_SHIFT);
				robot.keyPress(KeyEvent.VK_F);
				robot.keyRelease(KeyEvent.VK_F);
				robot.keyRelease(KeyEvent.VK_SHIFT);
			}
			break;
			case "G":
			{
				robot.keyPress(KeyEvent.VK_SHIFT);
				robot.keyPress(KeyEvent.VK_G);
				robot.keyRelease(KeyEvent.VK_G);
				robot.keyRelease(KeyEvent.VK_SHIFT);
			}
			break;
			case "H":
			{
				robot.keyPress(KeyEvent.VK_SHIFT);
				robot.keyPress(KeyEvent.VK_H);
				robot.keyRelease(KeyEvent.VK_H);
				robot.keyRelease(KeyEvent.VK_SHIFT);
			}
			break;
			case "I":
			{
				robot.keyPress(KeyEvent.VK_SHIFT);
				robot.keyPress(KeyEvent.VK_I);
				robot.keyRelease(KeyEvent.VK_I);
				robot.keyRelease(KeyEvent.VK_SHIFT);
			}
			break;
			case "J":
			{
				robot.keyPress(KeyEvent.VK_SHIFT);
				robot.keyPress(KeyEvent.VK_J);
				robot.keyRelease(KeyEvent.VK_J);
				robot.keyRelease(KeyEvent.VK_SHIFT);
			}
			break;
			case "K":
			{
				robot.keyPress(KeyEvent.VK_SHIFT);
				robot.keyPress(KeyEvent.VK_K);
				robot.keyRelease(KeyEvent.VK_K);
				robot.keyRelease(KeyEvent.VK_SHIFT);
			}
			break;
			case "L":
			{
				robot.keyPress(KeyEvent.VK_SHIFT);
				robot.keyPress(KeyEvent.VK_L);
				robot.keyRelease(KeyEvent.VK_L);
				robot.keyRelease(KeyEvent.VK_SHIFT);
			}
			break;
			case "M":
			{
				robot.keyPress(KeyEvent.VK_SHIFT);
				robot.keyPress(KeyEvent.VK_M);
				robot.keyRelease(KeyEvent.VK_M);
				robot.keyRelease(KeyEvent.VK_SHIFT);
			}
			break;
			case "N":
			{
				robot.keyPress(KeyEvent.VK_SHIFT);
				robot.keyPress(KeyEvent.VK_N);
				robot.keyRelease(KeyEvent.VK_N);
				robot.keyRelease(KeyEvent.VK_SHIFT);
			}
			break;
			case "O":
			{
				robot.keyPress(KeyEvent.VK_SHIFT);
				robot.keyPress(KeyEvent.VK_O);
				robot.keyRelease(KeyEvent.VK_O);
				robot.keyRelease(KeyEvent.VK_SHIFT);
			}
			break;
			case "P":
			{
				robot.keyPress(KeyEvent.VK_SHIFT);
				robot.keyPress(KeyEvent.VK_P);
				robot.keyRelease(KeyEvent.VK_P);
				robot.keyRelease(KeyEvent.VK_SHIFT);
			}
			break;
			case "Q":
			{
				robot.keyPress(KeyEvent.VK_SHIFT);
				robot.keyPress(KeyEvent.VK_Q);
				robot.keyRelease(KeyEvent.VK_Q);
				robot.keyRelease(KeyEvent.VK_SHIFT);
			}
			break;
			case "R":
			{
				robot.keyPress(KeyEvent.VK_SHIFT);
				robot.keyPress(KeyEvent.VK_R);
				robot.keyRelease(KeyEvent.VK_R);
				robot.keyRelease(KeyEvent.VK_SHIFT);
			}
			break;
			case "S":
			{
				robot.keyPress(KeyEvent.VK_SHIFT);
				robot.keyPress(KeyEvent.VK_S);
				robot.keyRelease(KeyEvent.VK_S);
				robot.keyRelease(KeyEvent.VK_SHIFT);
			}
			break;
			case "T":
			{
				robot.keyPress(KeyEvent.VK_SHIFT);
				robot.keyPress(KeyEvent.VK_T);
				robot.keyRelease(KeyEvent.VK_T);
				robot.keyRelease(KeyEvent.VK_SHIFT);
			}
			break;
			case "U":
			{
				robot.keyPress(KeyEvent.VK_SHIFT);
				robot.keyPress(KeyEvent.VK_U);
				robot.keyRelease(KeyEvent.VK_U);
				robot.keyRelease(KeyEvent.VK_SHIFT);
			}
			break;
			case "W":
			{
				robot.keyPress(KeyEvent.VK_SHIFT);
				robot.keyPress(KeyEvent.VK_W);
				robot.keyRelease(KeyEvent.VK_W);
				robot.keyRelease(KeyEvent.VK_SHIFT);
			}
			break;
			case "V":
			{
				robot.keyPress(KeyEvent.VK_SHIFT);
				robot.keyPress(KeyEvent.VK_V);
				robot.keyRelease(KeyEvent.VK_V);
				robot.keyRelease(KeyEvent.VK_SHIFT);
			}
			break;
			case "X":
			{
				robot.keyPress(KeyEvent.VK_SHIFT);
				robot.keyPress(KeyEvent.VK_X);
				robot.keyRelease(KeyEvent.VK_X);
				robot.keyRelease(KeyEvent.VK_SHIFT);
			}
			break;
			case "Y":
			{
				robot.keyPress(KeyEvent.VK_SHIFT);
				robot.keyPress(KeyEvent.VK_Y);
				robot.keyRelease(KeyEvent.VK_Y);
				robot.keyRelease(KeyEvent.VK_SHIFT);
			}
			break;
			case "Z":
			{
				robot.keyPress(KeyEvent.VK_SHIFT);
				robot.keyPress(KeyEvent.VK_Z);
				robot.keyRelease(KeyEvent.VK_Z);
				robot.keyRelease(KeyEvent.VK_SHIFT);
			}
			break;
			// numeric
			case "0":
			case "NumPad-0":
			{
				robot.keyPress(KeyEvent.VK_0);
				robot.keyRelease(KeyEvent.VK_0);
			}
			break;
			case "1":
			case "NumPad-1":
			{
				robot.keyPress(KeyEvent.VK_1);
				robot.keyRelease(KeyEvent.VK_1);
			}
			break;
			case "2":
			case "NumPad-2":
			{
				robot.keyPress(KeyEvent.VK_2);
				robot.keyRelease(KeyEvent.VK_2);
			}
			break;
			case "3":
			case "NumPad-3":
			{
				robot.keyPress(KeyEvent.VK_3);
				robot.keyRelease(KeyEvent.VK_3);
			}
			break;
			case "4":
			case "NumPad-4":
			{
				robot.keyPress(KeyEvent.VK_4);
				robot.keyRelease(KeyEvent.VK_4);
			}
			break;
			case "5":
			case "NumPad-5":
			{
				robot.keyPress(KeyEvent.VK_5);
				robot.keyRelease(KeyEvent.VK_5);
			}
			break;
			case "6":
			case "NumPad-6":
			{
				robot.keyPress(KeyEvent.VK_6);
				robot.keyRelease(KeyEvent.VK_6);
			}
			break;
			case "7":
			case "NumPad-7":
			{
				robot.keyPress(KeyEvent.VK_7);
				robot.keyRelease(KeyEvent.VK_7);
			}
			break;
			case "8":
			case "NumPad-8":
			{
				robot.keyPress(KeyEvent.VK_8);
				robot.keyRelease(KeyEvent.VK_8);
			}
			break;
			case "9":
			case "NumPad-9":
			{
				robot.keyPress(KeyEvent.VK_9);
				robot.keyRelease(KeyEvent.VK_9);
			}
			break;
			// controls key
			case "Home":
			{
				robot.keyPress(KeyEvent.VK_HOME);
				robot.keyRelease(KeyEvent.VK_HOME);
			}
			break;
			case "End":
			{
				robot.keyPress(KeyEvent.VK_END);
				robot.keyRelease(KeyEvent.VK_END);
			}
			break;
			case "Page Up":
			{
				robot.keyPress(KeyEvent.VK_PAGE_UP);
				robot.keyRelease(KeyEvent.VK_PAGE_UP);
			}
			break;
			case "Page Down":
			{
				robot.keyPress(KeyEvent.VK_PAGE_DOWN);
				robot.keyRelease(KeyEvent.VK_PAGE_DOWN);
			}
			break;
			case "Insert":
			{
				robot.keyPress(KeyEvent.VK_INSERT);
				robot.keyRelease(KeyEvent.VK_INSERT);
			}
			break;
			case "Delete":
			{
				robot.keyPress(KeyEvent.VK_DELETE);
				robot.keyRelease(KeyEvent.VK_DELETE);
			}
			break;
			// math key
			case "+":
			case "Numpad +":
			{
				robot.keyPress(KeyEvent.VK_PLUS);
				robot.keyRelease(KeyEvent.VK_PLUS);
			}
			break;
			case "-":
			case "Numpad -":
			{
				robot.keyPress(KeyEvent.VK_MINUS);
				robot.keyRelease(KeyEvent.VK_MINUS);
			}
			break;
			case "*":
			case "Numpad *":
			{
				robot.keyPress(KeyEvent.VK_MULTIPLY);
				robot.keyRelease(KeyEvent.VK_MULTIPLY);
			}
			break;
			case "Numpad /":
			{
				robot.keyPress(KeyEvent.VK_DIVIDE);
				robot.keyRelease(KeyEvent.VK_DIVIDE);
			}
			break;
			// arrows key
			case "Up" :
			{
				robot.keyPress(KeyEvent.VK_UP);
				robot.keyRelease(KeyEvent.VK_UP);
			}
			break;
			case "Down" :
			{
				robot.keyPress(KeyEvent.VK_DOWN);
				robot.keyRelease(KeyEvent.VK_DOWN);
			}
			break;
			case "Left" :
			{
				robot.keyPress(KeyEvent.VK_LEFT);
				robot.keyRelease(KeyEvent.VK_LEFT);
			}
			break;
			case "Right" :
			{
				robot.keyPress(KeyEvent.VK_RIGHT);
				robot.keyRelease(KeyEvent.VK_RIGHT);
			}
			break;
			// special keys
			case "Backspace" :
			{
				robot.keyPress(KeyEvent.VK_BACK_SPACE);
				robot.keyRelease(KeyEvent.VK_BACK_SPACE);
			}
			break;
			case "Space":
			{
				robot.keyPress(KeyEvent.VK_SPACE);
				robot.keyRelease(KeyEvent.VK_SPACE);
			}
			break;
			case "Ctrl" :
			{
				robot.keyPress(KeyEvent.VK_CONTROL);
				robot.keyRelease(KeyEvent.VK_CONTROL);
			}
			break;
			case "Alt":
			{
				robot.keyPress(KeyEvent.VK_ALT);
				robot.keyRelease(KeyEvent.VK_ALT);
			}
			break;
			case "Windows" :
			{
				robot.keyPress(KeyEvent.VK_WINDOWS);
				robot.keyRelease(KeyEvent.VK_WINDOWS);
			}
			break;
			case "Context Menu":
			{
				robot.keyPress(KeyEvent.VK_CONTEXT_MENU);
				robot.keyRelease(KeyEvent.VK_CONTEXT_MENU);
			}
			break;
			case "Tab" :
			{
				robot.keyPress(KeyEvent.VK_TAB);
				robot.keyRelease(KeyEvent.VK_TAB);
			}
			break;
			case "Caps Lock":
			{
				robot.keyPress(KeyEvent.VK_CAPS_LOCK);
				robot.keyRelease(KeyEvent.VK_CAPS_LOCK);
			}
			break;
			case "Shift" :
			{
				robot.keyPress(KeyEvent.VK_SHIFT);
				robot.keyRelease(KeyEvent.VK_SHIFT);
			}
			break;
			case "Enter":
			{
				robot.keyPress(KeyEvent.VK_ENTER);
				robot.keyRelease(KeyEvent.VK_ENTER);
			}
			break;
			case "Num Lock" :
			{
				robot.keyPress(KeyEvent.VK_NUM_LOCK);
				robot.keyRelease(KeyEvent.VK_NUM_LOCK);
			}
			break;
			case "Escape":
			{
				robot.keyPress(KeyEvent.VK_ESCAPE);
				robot.keyRelease(KeyEvent.VK_ESCAPE);
			}
			break;
			case "Scroll Lock" :
			{
				robot.keyPress(KeyEvent.VK_SCROLL_LOCK);
				robot.keyRelease(KeyEvent.VK_SCROLL_LOCK);
			}
			break;
			// special mask
			case "/":
			{
				robot.keyPress(KeyEvent.VK_SLASH);
				robot.keyRelease(KeyEvent.VK_SLASH);
			}
			case "?":
			{
				robot.keyPress(KeyEvent.VK_SHIFT);
				robot.keyPress(KeyEvent.VK_SLASH);
				robot.keyRelease(KeyEvent.VK_SLASH);
				robot.keyRelease(KeyEvent.VK_SHIFT);
			}
			break;
			case "\\":
			{
				robot.keyPress(KeyEvent.VK_BACK_SLASH);
				robot.keyRelease(KeyEvent.VK_BACK_SLASH);
			}
			break;
			case "|":
			{
				robot.keyPress(KeyEvent.VK_SHIFT);
				robot.keyPress(KeyEvent.VK_BACK_SLASH);
				robot.keyRelease(KeyEvent.VK_BACK_SLASH);
				robot.keyPress(KeyEvent.VK_SHIFT);
			}
			break;
			case "\'":
			{
				robot.keyPress(KeyEvent.VK_QUOTE);
				robot.keyRelease(KeyEvent.VK_QUOTE);
			}
			break;
			case "\"":
			{
				robot.keyPress(KeyEvent.VK_SHIFT);
				robot.keyPress(KeyEvent.VK_QUOTE);
				robot.keyRelease(KeyEvent.VK_QUOTE);
				robot.keyRelease(KeyEvent.VK_SHIFT);
			}
			break;
			case "`":
			{
				robot.keyPress(KeyEvent.VK_BACK_QUOTE);
				robot.keyRelease(KeyEvent.VK_BACK_QUOTE);
			}
			break;
			case "~":
			{
				robot.keyPress(KeyEvent.VK_SHIFT);
				robot.keyPress(KeyEvent.VK_BACK_QUOTE);
				robot.keyRelease(KeyEvent.VK_BACK_QUOTE);
				robot.keyRelease(KeyEvent.VK_SHIFT);
			}
			break;
			case "!":
			{
				robot.keyPress(KeyEvent.VK_SHIFT);
				robot.keyPress(KeyEvent.VK_1);
				robot.keyRelease(KeyEvent.VK_1);
				robot.keyRelease(KeyEvent.VK_SHIFT);
			}
			break;
			case "@":
			{
				robot.keyPress(KeyEvent.VK_SHIFT);
				robot.keyPress(KeyEvent.VK_2);
				robot.keyRelease(KeyEvent.VK_2);
				robot.keyRelease(KeyEvent.VK_SHIFT);
			}
			break;
			case "#":
			{
				robot.keyPress(KeyEvent.VK_SHIFT);
				robot.keyPress(KeyEvent.VK_3);
				robot.keyRelease(KeyEvent.VK_3);
				robot.keyRelease(KeyEvent.VK_SHIFT);
			}
			break;
			case "$":
			{
				robot.keyPress(KeyEvent.VK_SHIFT);
				robot.keyPress(KeyEvent.VK_4);
				robot.keyRelease(KeyEvent.VK_4);
				robot.keyRelease(KeyEvent.VK_SHIFT);
			}
			break;
			case "%":
			{
				robot.keyPress(KeyEvent.VK_SHIFT);
				robot.keyPress(KeyEvent.VK_5);
				robot.keyRelease(KeyEvent.VK_5);
				robot.keyRelease(KeyEvent.VK_SHIFT);
			}
			break;
			case "^":
			{
				robot.keyPress(KeyEvent.VK_SHIFT);
				robot.keyPress(KeyEvent.VK_6);
				robot.keyRelease(KeyEvent.VK_6);
				robot.keyRelease(KeyEvent.VK_SHIFT);
			}
			break;
			case "&":
			{
				robot.keyPress(KeyEvent.VK_SHIFT);
				robot.keyPress(KeyEvent.VK_7);
				robot.keyRelease(KeyEvent.VK_7);
				robot.keyRelease(KeyEvent.VK_SHIFT);
			}
			break;
			case "(":
			{
				robot.keyPress(KeyEvent.VK_SHIFT);
				robot.keyPress(KeyEvent.VK_9);
				robot.keyRelease(KeyEvent.VK_9);
				robot.keyRelease(KeyEvent.VK_SHIFT);
			}
			break;
			case ")":
			{
				robot.keyPress(KeyEvent.VK_SHIFT);
				robot.keyPress(KeyEvent.VK_0);
				robot.keyRelease(KeyEvent.VK_0);
				robot.keyRelease(KeyEvent.VK_SHIFT);
			}
			break;
			case ";":
			{
				robot.keyPress(KeyEvent.VK_SEMICOLON);
				robot.keyRelease(KeyEvent.VK_SEMICOLON);
			}
			break;
			case ":":
			{
				robot.keyPress(KeyEvent.VK_SHIFT);
				robot.keyPress(KeyEvent.VK_SEMICOLON);
				robot.keyRelease(KeyEvent.VK_SEMICOLON);
				robot.keyRelease(KeyEvent.VK_SHIFT);
			}
			break;
			case "[":
			{
				robot.keyPress(KeyEvent.VK_OPEN_BRACKET);
				robot.keyRelease(KeyEvent.VK_OPEN_BRACKET);
			}
			break;
			case "{":
			{
				robot.keyPress(KeyEvent.VK_SHIFT);
				robot.keyPress(KeyEvent.VK_OPEN_BRACKET);
				robot.keyRelease(KeyEvent.VK_OPEN_BRACKET);
				robot.keyRelease(KeyEvent.VK_SHIFT);
			}
			break;
			case "]":
			{
				robot.keyPress(KeyEvent.VK_CLOSE_BRACKET);
				robot.keyRelease(KeyEvent.VK_CLOSE_BRACKET);
			}
			break;
			case "}":
			{
				robot.keyPress(KeyEvent.VK_SHIFT);
				robot.keyPress(KeyEvent.VK_CLOSE_BRACKET);
				robot.keyRelease(KeyEvent.VK_CLOSE_BRACKET);
				robot.keyRelease(KeyEvent.VK_SHIFT);
			}
			break;
			case ".":
			case "NumPad .":
			{
				robot.keyPress(KeyEvent.VK_PERIOD);
				robot.keyRelease(KeyEvent.VK_PERIOD);
			}
			break;
			case ",":
			{
				robot.keyPress(KeyEvent.VK_COMMA);
				robot.keyRelease(KeyEvent.VK_COMMA);
			}
			break;
			case "<":
			{
				robot.keyPress(KeyEvent.VK_SHIFT);
				robot.keyPress(KeyEvent.VK_COMMA);
				robot.keyRelease(KeyEvent.VK_COMMA);
				robot.keyRelease(KeyEvent.VK_SHIFT);
			}
			break;
			case ">":
			{
				robot.keyPress(KeyEvent.VK_SHIFT);
				robot.keyPress(KeyEvent.VK_PERIOD);
				robot.keyRelease(KeyEvent.VK_PERIOD);
				robot.keyRelease(KeyEvent.VK_SHIFT);
			}
			break;
			case "_":
			{
				robot.keyPress(KeyEvent.VK_SHIFT);
				robot.keyPress(KeyEvent.VK_MINUS);
				robot.keyRelease(KeyEvent.VK_MINUS);
				robot.keyRelease(KeyEvent.VK_SHIFT);
			}
			break;
			case "=":
			{
				robot.keyPress(KeyEvent.VK_EQUALS);
				robot.keyRelease(KeyEvent.VK_EQUALS);
			}
			break;
		}
		robot.delay(delay);
	}

	
	/**
	 * This method will convert your input keyName into keyCdoe
	 * <p>
	 * This code will be used to register your hot key
	 * 
	 * @param keyName
	 * @return KeyCode
	 */
	public int keyRegister(String keyName)
	{
		switch (keyName)
		{
		// F* key
			case "F1":
			{
				return Event.F1;
			}
			
			case "F2":
			{
				return Event.F2;
			}
			
			case "F3":
			{
				return Event.F3;
			}
			
			case "F4":
			{
				return Event.F4;
			}
			
			case "F5":
			{
				return Event.F5;
			}
			case "F6":
			{
				return Event.F6;
			}
			case "F7":
			{
				return Event.F7;
			}
			case "F8":
			{
				return Event.F8;
			}
			case "F9":
			{
				return Event.F9;
			}
			case "F10":
			{
				return Event.F10;
			}
			case "F11":
			{
				return Event.F11;
			}
			case "F12":
			{
				return Event.F12;
			}
		}
		return -1;
	}
}
